home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2004 #9
/
Amiga Plus CD - 2004 - No. 09.iso
/
amigaplus
/
tools
/
dev_libs
/
feelin040718
/
sources
/
shade
/
private.h
< prev
next >
Wrap
C/C++ Source or Header
|
2004-08-03
|
5KB
|
141 lines
/*
FC_Shade Header
*/
/***************************************************************************/
/*** includes **************************************************************/
/***************************************************************************/
#include <intuition/intuition.h>
#include <libraries/feelin.h>
#include <proto/exec.h>
#include <proto/layers.h>
#include <proto/graphics.h>
#include <proto/intuition.h>
#include <proto/utility.h>
#include <proto/feelin.h>
/***************************************************************************/
/*** shared variables ******************************************************/
/***************************************************************************/
extern struct FeelinBase *FeelinBase;
#define SysBase FeelinBase -> SYS
#define LayersBase FeelinBase -> Layers
#define GfxBase FeelinBase -> Graphics
#define IntuitionBase FeelinBase -> Intuition
#define UtilityBase FeelinBase -> Utility
extern struct FeelinClass *GadgetClass;
extern ULONG FC_Area_Offset;
extern ULONG FC_Gadget_Offset;
/***************************************************************************/
/*** class *****************************************************************/
/***************************************************************************/
struct LocalObjectData
{
FAreaData *AreaData;
UBYTE Flags;
UBYTE LastDrawn;
UBYTE GadW;
UBYTE GadH;
FObject Gad_Close;
FObject Gad_Iconify;
FObject Gad_Zoom;
FObject Gad_Depth;
FObject Gad_Dragbar;
FObject Gad_Size;
FNotifyHandler *nn_window_active;
FNotifyHandler *nn_window_title;
FPalette * AScheme;
FPalette * IScheme;
};
enum {
FV_Shade_LastDrawn_None,
FV_Shade_LastDrawn_Active,
FV_Shade_LastDrawn_Inactive
};
#define FF_SHADE_BUFFER (1L << 0)
#define FF_SHADE_ZOOM_IS_ICONIFY (1L << 1)
/***/
struct GAD_LocalObjectData
{
FAreaData *AreaData;
UBYTE Type;
UBYTE Flags;
UWORD _pad0;
APTR Gadget;
// the following is only used by title bar gadget.
FObject TDisplay;
STRPTR Prep[2];
};
/***************************************************************************/
#define TICKNESS 5
#define TITLEX1 10
#define TITLEY1 3
#define TITLEX2 10
#define TITLEY2 3
#define SIZE (TICKNESS * 4)
enum { FV_GadgetType_Close = 1,
FV_GadgetType_Iconify,
FV_GadgetType_Dragbar,
FV_GadgetType_Zoom,
FV_GadgetType_Depth,
FV_GadgetType_Size };
enum { FA_Gadget_Type = FCCA_BASE };
enum { FM_Gadget_Active = FCCM_BASE,
FM_Gadget_ZoomWindow,
FM_Gadget_DepthWindow };
#define FF_Draw_Title FF_Draw_Custom_1
#define FF_Draw_Active FF_Draw_Custom_2
/*
struct LayerHookMsg
{
struct Layer *Layer;
struct FeelinRect Rect;
LONG OffsetX;
LONG OffsetY;
};
struct BackFillHook
{
struct MinNode h_MinNode;
ULONG (*h_Entry)();
ULONG (*h_SubEntry)();
APTR h_Data;
ULONG Shine;
ULONG Fill;
ULONG Shadow;
};
*/
/*** Prototypes ************************************************************/
struct RastPort * CreateRPBitMap(UWORD Width,UWORD Height,struct Screen *Scr);
void DeleteRPBitMap(struct RastPort *rpb);
struct FeelinRender * CreateRenderBuffer(UWORD Width,UWORD Height,struct FeelinRender *Friend);
void DeleteRenderBuffer(struct FeelinRender *Render);
//SAVEDS ASM struct RastPort * Shade_Erase(REG_A0 struct BackFillHook *Hook,REG_A2 struct RastPort *rp,REG_A1 struct LayerHookMsg *Msg);
#define _Line(x1,y1,x2,y2) _Move(x1,y1); _Draw(x2,y2)